Skip to content

execution: cache only successful action results - #58

Draft
fionera wants to merge 1 commit into
hermeticbuild:mainfrom
fionera:fionera/cache-successful-actions
Draft

fionera wants to merge 1 commit into
hermeticbuild:mainfrom
fionera:fionera/cache-successful-actions

Conversation

@fionera

@fionera fionera commented Nov 2, 2026

Copy link
Copy Markdown

An action returning a nonzero exit status is currently stored in the ActionCache and returned by later Execute requests without another attempt. A transient sandbox/tool failure can therefore persist after its cause has been fixed.

Return unsuccessful execution results to the caller without caching them, and ignore unsuccessful entries already present in the cache. Preserve cancellation and do_not_cache behavior. Rename the publishing helper to reflect that it handles both successful and unsuccessful results.

The regression checks cover exit codes 1, 127, and 137 and verify that they are returned without creating an ActionCache entry. A native REAPI probe also verified retrying a previously failed action.

Validation was performed with these fixes combined in a Linux KVM integration workspace, using actiond for execution and caching. The native unit suite, filesystem probes, and a large mixed-language Bazel workload passed. These draft changes have not been validated with tools/e2e.sh vm on macOS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant